#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>

//获取环境变量 - 第二种写法
int main()
{
    const char* username = getenv("USER");
    if(strcmp(username, "yss")==0)
    {
        printf("this is my process core function\n");
    }
    else
    {
        printf("没有权限\n");
    }

    //if(username) printf("username: %s\n", username);
    //else printf("None\n");
    return 0;
}

//获取环境变量 - 第一种写法
//int main(int argc, char* argv[], char* env[])
//{
//    int i=0;
//    printf("I am a process, pid: %d, ppid: %d\n", getpid(), getppid());
//    for(i=0;env[i];i++)
//    {
//        printf("-----------------env[%d] --> %s\n", i, env[i]);
//    }
//    pid_t id = fork();
//    if(id==0)
//    {
//        printf("--------------------------");
//        printf("I am a process, pid: %d, ppid: %d\n", getpid(), getppid());
//        for(i=0;env[i];i++)
//        {
//            printf("-----------------env[%d] --> %s\n", i, env[i]);
//        }   
//    }
//    sleep(1);
//    return 0;
//}

//实现加减乘除功能
// ./myprocess.c -add 1 2
//int main(int argc, char *argv[])
//{
//    if(argc != 4)
//    {
//        printf("Usage: \n\t%s -[add|sub|mul|div] x y\n\n", argv[0]);
//        return 1;
//    }
//    int x = atoi(argv[2]);
//    int y = atoi(argv[3]);
//
//    if(strcmp("-add", argv[1]) == 0)
//    {
//        printf("%d+%d=%d\n", x, y, x+y);
//    }
//    else if(strcmp("-sub", argv[1]) == 0)
//    {
//        printf("%d-%d=%d\n", x, y, x-y);
//    }
//    else if(strcmp("-mul", argv[1]) == 0)
//    {
//        printf("%d*%d=%d\n", x, y, x*y);
//    }
//    else if(strcmp("-div", argv[1]) == 0)
//    {
//        printf("%d/%d=%d\n", x, y, x/y);
//    }
//    else
//    {
//        printf("unknown!\n");
//    }
//    return 0;
//}


//实现三种不同的功能
// ./myprocess.c -1/2/3
//int main(int argc, char *argv[])
//{
//    if(argc != 2)
//    {
//        printf("Usage: \n\t%s -number[1-3]\n", argv[0]);
//        return 1;
//    }
//    if(strcmp("-1", argv[1]) == 0)
//    {
//        printf("function 1\n");
//    }
//    else if(strcmp("-2", argv[1]) == 0)
//    {
//        printf("function 2\n");
//    }
//    else if(strcmp("-3", argv[1]) == 0)
//    {
//        printf("function 3\n");
//    }
//    else 
//    {
//        printf("unknown!\n");
//    }
//
//    //for(int i=0; argv[i];i++)
//    //{
//    //    printf("argv[%d]: %s\n", i, argv[i]);
//    //}
//   // for(int i=0;i<argc;i++)
//   // {
//   //     printf("argv[%d]: %s\n", i, argv[i]);
//   // }
//    return 0;
//}
